﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TeamCommunitySolution.Modules.Leagues.Requests;
using TeamCommunitySolution.Modules.Leagues.Responses;

namespace TeamCommunitySolution.Modules.Leagues
{
    public interface LeagueManager
    {
        /// <summary>
        /// Creates the league.
        /// </summary>
        /// <param name="leagueRequest">The league request.</param>
        /// <returns>A response for the operation.</returns>
        LeagueResponse CreateLeague(LeagueRequest leagueRequest);

        /// <summary>
        /// Updates the league.
        /// </summary>
        /// <param name="leagueRequest">The league request.</param>
        /// <returns>A response for the operation.</returns>
        LeagueResponse UpdateLeague(LeagueRequest leagueRequest);

        /// <summary>
        /// Gets the league.
        /// </summary>
        /// <param name="leagueRequest">The league request.</param>
        /// <returns>League response instance.</returns>
        LeagueResponse GetLeague(LeagueRequest leagueRequest);
    }
}
